package cn.est.utils;

import cn.est.constants.Constants;

import java.math.BigDecimal;

/**
 * @Description 数字相关工具类
 * Version 1.0
 **/
public class MathUtils {

    /**
     * 返回一个4位随机数
     * @return
     */
    public static String random(){
        /*
        Math.random()   [0,1)--->[0,9)--->[1,10)-->[1000,10000)        
         */
        int random = (int) ((Math.random() * 9 + 1) * 1000);
        return random + "";
    }


    /**
     * 格式化BigDecimal，返回保留相应的小数
     * @param decimal
     * @param num
     * @return
     */
    public static BigDecimal formatDecimal(BigDecimal decimal, int num){
        /*
        float,double   3.1415926
        BigDecimal.ROUND_HALF_UP:舍入部分大于等于0.5时进位，否则丢弃舍入部分
         */
        BigDecimal result = decimal.setScale(num,BigDecimal.ROUND_HALF_UP);
        return result;
    }

    public static void main(String[] args) {

        BigDecimal bigDecimal = new BigDecimal(3.1415926);

        System.out.println("bigDecimal = " + bigDecimal);

        BigDecimal bigDecimal1 = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP);
        System.out.println(bigDecimal1);


    }
    
    
    /**
     * 格式化BigDecimal，默认保留两位小数
     * @param decimal
     * @return
     */
    public static BigDecimal formatDecimal(BigDecimal decimal){
        BigDecimal result = formatDecimal(decimal, Constants.DECIMAL_DIGITS);
        return result;
    }

}
